using System;

namespace SmartPeople.Framework.SecuritySpace
{
    /// <summary>
    /// ISecuritySecuredType interface
    /// </summary>
    public interface ISecuritySecuredType
    {
        

        /// <summary>
        /// Gets or sets the GID.
        /// </summary>
        /// <value>The GID.</value>
        Guid GID { get; set; }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>The name.</value>
        string Name { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        string Description { get; set; }

        /// <summary>
        /// Gets or sets the type of the base secured.
        /// </summary>
        /// <value>The type of the base secured.</value>
        ISecuritySecuredType BaseSecuredType { get; set; }

        /// <summary>
        /// Gets the states.
        /// </summary>
        /// <value>The states.</value>
        ISecuritySecuredTypeStates States { get; }

        /// <summary>
        /// Gets the actions.
        /// </summary>
        /// <value>The actions.</value>
        ISecuritySecuredTypeActions Actions { get; }
    }
}